﻿using System;
using System.Collections.Generic;
using System.ServiceModel;
using System.Runtime.Serialization;

namespace QuoteCenter.DataContract
{
    [DataContract()]
    public class QuotesUI
    {
        private string _stockId;
        [DataMember]
        public string StockId
        {
            get { return _stockId; }
            set { _stockId = value; }
        }
        private int _industryId;
        [DataMember]
        public int IndustryId
        {
            get { return _industryId; }
            set { _industryId = value; }
        }
        private DateTime _transDate;
        [DataMember]
        public System.DateTime TransDate
        {
            get { return _transDate; }
            set { _transDate = value; }
        }
        private string _stockSymbol;
        [DataMember]
        public string StockSymbol
        {
            get { return _stockSymbol; }
            set { _stockSymbol = value; }
        }
        private string _companyName;
        [DataMember]
        public string CompanyName
        {
            get { return _companyName; }
            set { _companyName = value; }
        }
        private byte _stockType;
        [DataMember]
        public byte StockType
        {
            get { return _stockType; }
            set { _stockType = value; }
        }
        private QuoteStatus _status;
        [DataMember]
        public QuoteCenter.DataContract.QuoteStatus Status
        {
            get { return _status; }
            set { _status = value; }
        }
        private long _ceiling;
        [DataMember]
        public long Ceiling
        {
            get { return _ceiling; }
            set { _ceiling = value; }
        }
        private long _floor;
        [DataMember]
        public long Floor
        {
            get { return _floor; }
            set { _floor = value; }
        }
        private DateTime _issueDate;
        [DataMember]
        public System.DateTime IssueDate
        {
            get { return _issueDate; }
            set { _issueDate = value; }
        }
        private long _dateNo;
        [DataMember]
        public long DateNo
        {
            get { return _dateNo; }
            set { _dateNo = value; }
        }
        private int _parValue;
        [DataMember]
        public int ParValue
        {
            get { return _parValue; }
            set { _parValue = value; }
        }
        private int _tradingUnit;
        [DataMember]
        public int TradingUnit
        {
            get { return _tradingUnit; }
            set { _tradingUnit = value; }
        }
        private long _totalListingQtty;
        [DataMember]
        public long TotalListingQtty
        {
            get { return _totalListingQtty; }
            set { _totalListingQtty = value; }
        }
        private long _yieldMat;
        [DataMember]
        public long YieldMat
        {
            get { return _yieldMat; }
            set { _yieldMat = value; }
        }
        private long _adjustQtty;
        [DataMember]
        public long AdjustQtty
        {
            get { return _adjustQtty; }
            set { _adjustQtty = value; }
        }
        private long _priorClosePrice;
        [DataMember]
        public long PriorClosePrice
        {
            get { return _priorClosePrice; }
            set { _priorClosePrice = value; }
        }
        private long _highestPrice;
        [DataMember]
        public long HighestPrice
        {
            get { return _highestPrice; }
            set { _highestPrice = value; }
        }
        private long _lowestPrice;
        [DataMember]
        public long LowestPrice
        {
            get { return _lowestPrice; }
            set { _lowestPrice = value; }
        }
        private long _refPrice;
        [DataMember]
        public long RefPrice
        {
            get { return _refPrice; }
            set { _refPrice = value; }
        }
        private decimal _avgPrice;
        [DataMember]
        public decimal AvgPrice
        {
            get { return _avgPrice; }
            set { _avgPrice = value; }
        }
        private long _lastPrice;
        [DataMember]
        public long LastPrice
        {
            get { return _lastPrice; }
            set { _lastPrice = value; }
        }
        private long _lastQtty;
        [DataMember]
        public long LastQtty
        {
            get { return _lastQtty; }
            set { _lastQtty = value; }
        }
        private long _matchPrice;
        [DataMember]
        public long MatchPrice
        {
            get { return _matchPrice; }
            set { _matchPrice = value; }
        }
        private long _matchQtty;
        [DataMember]
        public long MatchQtty
        {
            get { return _matchQtty; }
            set { _matchQtty = value; }
        }
        private long _ptMatchPrice;
        [DataMember]
        public long PtMatchPrice
        {
            get { return _ptMatchPrice; }
            set { _ptMatchPrice = value; }
        }
        private long _ptMatchQtty;
        [DataMember]
        public long PtMatchQtty
        {
            get { return _ptMatchQtty; }
            set { _ptMatchQtty = value; }
        }
        private int _bidCount;
        [DataMember]
        public int BidCount
        {
            get { return _bidCount; }
            set { _bidCount = value; }
        }
        private int _offerCount;
        [DataMember]
        public int OfferCount
        {
            get { return _offerCount; }
            set { _offerCount = value; }
        }
        private int _sellCount;
        [DataMember]
        public int SellCount
        {
            get { return _sellCount; }
            set { _sellCount = value; }
        }
        private long _sellTotalQtty;
        [DataMember]
        public long SellTotalQtty
        {
            get { return _sellTotalQtty; }
            set { _sellTotalQtty = value; }
        }
        private decimal _sellTotalValue;
        [DataMember]
        public decimal SellTotalValue
        {
            get { return _sellTotalValue; }
            set { _sellTotalValue = value; }
        }
        private int _buyCount;
        [DataMember]
        public int BuyCount
        {
            get { return _buyCount; }
            set { _buyCount = value; }
        }
        private long _buyTotalQtty;
        [DataMember]
        public long BuyTotalQtty
        {
            get { return _buyTotalQtty; }
            set { _buyTotalQtty = value; }
        }
        private decimal _buyTotalValue;
        [DataMember]
        public decimal BuyTotalValue
        {
            get { return _buyTotalValue; }
            set { _buyTotalValue = value; }
        }
        private long _normalQtty;
        [DataMember]
        public long NormalQtty
        {
            get { return _normalQtty; }
            set { _normalQtty = value; }
        }
        private decimal _normalValue;
        [DataMember]
        public decimal NormalValue
        {
            get { return _normalValue; }
            set { _normalValue = value; }
        }
        private long _putThroughQtty;
        [DataMember]
        public long PutThroughQtty
        {
            get { return _putThroughQtty; }
            set { _putThroughQtty = value; }
        }
        private decimal _putThroughValue;
        [DataMember]
        public decimal PutThroughValue
        {
            get { return _putThroughValue; }
            set { _putThroughValue = value; }
        }
        private long _foreignBuyQtty;
        [DataMember]
        public long ForeignBuyQtty
        {
            get { return _foreignBuyQtty; }
            set { _foreignBuyQtty = value; }
        }
        private decimal _foreignBuyValue;
        [DataMember]
        public decimal ForeignBuyValue
        {
            get { return _foreignBuyValue; }
            set { _foreignBuyValue = value; }
        }
        private long _foreignSellQtty;
        [DataMember]
        public long ForeignSellQtty
        {
            get { return _foreignSellQtty; }
            set { _foreignSellQtty = value; }
        }
        private decimal _foreignSellValue;
        [DataMember]
        public decimal ForeignSellValue
        {
            get { return _foreignSellValue; }
            set { _foreignSellValue = value; }
        }
        private long _foreignRemainQtty;
        [DataMember]
        public long ForeignRemainQtty
        {
            get { return _foreignRemainQtty; }
            set { _foreignRemainQtty = value; }
        }
        private long _foreignTotalQtty;
        [DataMember]
        public long ForeignTotalQtty
        {
            get { return _foreignTotalQtty; }
            set { _foreignTotalQtty = value; }
        }
        public List<TopPrices> _bestBids;
        [DataMember]
        public List<TopPrices> BestBids
        {
            get { return _bestBids; }
            set { _bestBids = value; }
        }
        public List<TopPrices> _bestOffers;
        [DataMember]
        public List<TopPrices> BestOffers
        {
            get { return _bestOffers; }
            set { _bestOffers = value; }
        }
    }

    public struct TopPrices
    {
        private int _price;
        public int Price
        {
            get { return _price; }
            set { _price = value; }
        }
        private long _quantity;
        public long Quantity
        {
            get { return _quantity; }
            set { _quantity = value; }
        }
        private int _rank;
        public int Rank
        {
            get { return _rank; }
            set { _rank = value; }
        }
    }
    public struct QuoteStatus
    {
        private byte _suspension;
        public byte Suspension
        {
            get { return _suspension; }
            set { _suspension = value; }
        }
        private byte _delist;
        public byte Delist
        {
            get { return _delist; }
            set { _delist = value; }
        }
        private byte _haltResumeFlag;
        public byte HaltResumeFlag
        {
            get { return _haltResumeFlag; }
            set { _haltResumeFlag = value; }
        }
        private byte _split;
        public byte Split
        {
            get { return _split; }
            set { _split = value; }
        }
        private byte _benefit;
        public byte Benefit
        {
            get { return _benefit; }
            set { _benefit = value; }
        }
        private byte _meeting;
        public byte Meeting
        {
            get { return _meeting; }
            set { _meeting = value; }
        }
        private byte _notice;
        public byte Notice
        {
            get { return _notice; }
            set { _notice = value; }
        }
    }
    public struct QuoteInfo
    {
    }
}
